#include "includes\\StateDefinitions.fx"
#include "BikeShader.fx"
#include "WallShader.fx"
#include "SkyShader.fx"
#include "PlatformShader.fx"


technique11 Bike
{
	pass oneandonly
	{
		SetVertexShader(CompileShader(vs_4_0, BikeVS()));
		SetGeometryShader(0);
		SetPixelShader(CompileShader(ps_4_0, BikePS()));
	}
}


technique11 Sky
{
	pass oneandonly
	{
		SetVertexShader(CompileShader(vs_4_0, SkyVS()));
		SetGeometryShader(0);
		SetPixelShader(CompileShader(ps_4_0, SkyPS()));
		SetBlendState(SrcAlphaBlendingAdd, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
	}
}


technique11 Wall
{
	pass oneandonly
	{
		SetVertexShader(CompileShader(vs_4_0, WallVS()));
		SetGeometryShader(0);
		SetPixelShader(CompileShader(ps_4_0, WallPS()));
		SetRasterizerState(DisableCulling);
		SetBlendState(SrcAlphaBlendingAdd, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
	}
}


technique11 Platform
{
	pass oneandonly
	{
		SetVertexShader(CompileShader(vs_4_0, PlatformVS()));
		SetGeometryShader(0);
		SetPixelShader(CompileShader(ps_4_0, PlatformPS()));
	}
}


technique11 PlatformNoReflection
{
	pass oneandonly
	{
		SetVertexShader(CompileShader(vs_4_0, PlatformVS()));
		SetGeometryShader(0);
		SetPixelShader(CompileShader(ps_4_0, PlatformPS_NoReflection()));
	}
}


